var dao=require("./server/dao");
var crawler = require("./server/crawler");
var logger = require('./conf/log4').logger('app');
var cronJob = require('cron').CronJob;
var cookie = require('./server/cookie');
var common = require('./conf/common');


common.setSource('us');
//dao.findKeyword(common.getSource(),crawler.crawlRank);
 //先把关键词任务放进redis，只需在一台机器上运行
/*
 var job = new cronJob('1 1 1 * * *', function(){
     dao.findKeyword(common.getSource(),crawler.crawlRank);
     dao.findAbsrCategory(common.getSource(),crawler.crawlAbsrRank);
 });
 job.start();
*/

 //从redis里取任务关键词，开始absr任务
 // var job1 = new cronJob('1 5 1 * * *', function(){
     for(var i =0 ;i<5;i++){
         cookie.refresh(i,function (num) {
             //crawler.loopProJob(num);
             crawler.loopRankJob(num);
         });
     }
 // });
 // job1.start();
/*
//从redis里取任务关键词，开始rank任务
var job2 = new cronJob('1 35 1 * * *', function(){
    for(var i =0 ;i<5;i++){
        cookie.refresh(i,function (num) {
            crawler.loopRankJob(num);
        });
    }
});
job2.start();


//根据rank与absr抓取detail
 var job3 = new cronJob('1 1 3 * * *', function(){
     dao.findProAsin(common.getSource(),crawler.crawlProDetail,function () {
         for(var i =0 ;i<5;i++){
             cookie.refresh(i,function (num) {
                 crawler.loopProJob(num);
             });
         }
     });
 });
 job3.start();*/

/**

 其中 f1 表示秒钟，f2 表示分钟，f3 表示小时，f4 表示一个月份中的第几日，f5 表示月 份，
 f6 表示一个星期中的第几天。各部分的取值含义如下（以 f1 部分为例，其他部分类 似）：

 当值为 * 时，表示每秒执行一次；
 当值为 a-b 时，表示从第 a 秒钟到第 b 秒钟这段时间内执行一次；
 当值为 n 时，表示每隔 n 秒钟执行一次；

 当值为 a-b/n 时，表示从第 a 秒钟到第 b 秒钟这段时间内每隔 n 秒钟执行一次。

 cron 模块的详细使用说明可以访问以下网址获取：
 https://npmjs.org/package/cron

 **/